<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- <div>
        <div>
            {{message}}
        </div>
    </div> -->
    <script>
        // 递归函数：函数自身调用自身；

        // 死递归，死循环
        // function fn(){
        //     console.log(111);
        //     fn();
        // }
        // fn();

        // 一定需要给递归一个出口；
        // 递归循环，如果循环和递归都可以解决 那么优先选 循环
        // function fn(num){
        //     num++;
        //     console.log(num);
        //     if(num<5){
        //         fn(num);
        //     }
        // }

        // fn(0);

        // 1.深拷贝 2.循环查找 dom结构；

        // 一、通过递归计算阶层 
        // 5! = 5 *4*3*2*1;
        // 5! = 5*4!
        // 4! = 4*3!
        // 3! = 2!*1;
    //     function jiecheng(num){
    //         if(num==1){
    //             return 1;
    //         }
    //         return num * jiecheng(num-1);
    //     }
    //    var res =  jiecheng(5);
    //    console.log(res);


    // 二、斐波那契数列 

    /* 
        1 1 2 3 5 8 13 21 ... 斐波那契额数列
        1 2 3 4 5 6  7  8 .... 
    
    */
    // f(1) == 1
    // f(2) == 1 
    // f(7) == 13

    /* 
        f(7) ==== f(6)---->f(5)+f(4) + f(5)--->f(4) +f(3)
        .... f(1)==1  f(2)==1;
    
    
    */

    function fn(num){
        if(num==1 || num==2){
            return 1;
        }
        return fn(num-1) + fn(num-2);
    }
   var res =  fn(8);
   console.log(res);
    






    </script>
</body>
</html>